"""
在 Flask 中，flash 是一个用于在不同请求之间传递短暂消息的功能，通常用于向用户显示通知或提示信息。
flash 消息会存储在会话中，并在下一个请求中显示给用户。

工作原理：
存储消息：使用 flash 函数将消息存储在会话中。
显示消息：在模板中通过 get_flashed_messages 函数获取并显示这些消息。
一次性消息：flash 消息在显示后会被清除，因此它们是一次性的。

小结：
flash 用于存储消息。
get_flashed_messages 用于在模板中提取并显示消息。
适合用于通知用户操作结果（如登录成功、表单验证失败等）。
"""

from flask import Flask, render_template, flash, redirect, url_for

app = Flask(__name__)
app.secret_key = 'your_secret_key'  # 必须设置 secret_key 才能使用 flash


@app.route('/')
def index():
    return render_template('index.html')


@app.route('/flash')
def call_flash():
    flash('This is a flash message!')  # 发送 flash 消息
    # 在模板中显示 flash 消息
    return redirect(url_for('index'))


if __name__ == '__main__':
    app.run(debug=True)
